package com.shujia.wyh.day14;

/*
            成员内部的常见修饰符
                private 为了保证数据的安全性
                static 为了让数据访问更方便
                    注意：被静态修饰成员内部类所访问的数据也应该是被static修饰的

 */
//class Body{
//    private class Heart{
//        public void bloodXunHuan(){
//            System.out.println("心脏提供血液循环");
//        }
//    }
//
//    public void fun(){
//        Heart heart = new Heart();
//        heart.bloodXunHuan();
//    }
//
//}

class Outer4{
//    private int num = 20;
    private static int num = 20;

    public static class Innter4{
        public void show(){
            System.out.println(num);
        }

        public static void show2(){
            System.out.println(num);
        }
    }
}

public class InnerClassDemo4 {
    public static void main(String[] args) {
//        Body body = new Body();
//        body.fun();

//        Outer4.Innter4 oi4 = new Outer4().new Innter4();
//        oi4.show();

        //另外一种方式创建内部类，当成员内部类被静态所修饰后，访问的格式发生了变化：
        //外部类名.内部类名 对象名 = new 外部类名.内部类名();
        Outer4.Innter4 oi4 = new Outer4.Innter4();
        oi4.show();
//        oi4.show2();

        //调用show2()方法的另外一种方式
        Outer4.Innter4.show2();


    }
}
